Declare Sub Net3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, pts As Any, ByVal m%, ByVal n%)
'Shading Functions
Declare Sub ResetShader Lib "visualib.dll" ()
'depth buffer functions
Declare Function SetDepthBuffer Lib "visualib.dll" (ByVal hview%) As Integer
Declare Function SelectDepthBuffer Lib "visualib.dll" (ByVal hview%) As Integer
Declare Function FreeDepthBuffer Lib "visualib.dll" (ByVal hview%) As Integer
Declare Sub ClearDepthBuffer Lib "visualib.dll" (ByVal v%)
' light functions
Declare Function CopyLight Lib "visualib.dll" (ByVal lid1%, ByVal lid2%) As Integer
Declare Function ResetLight Lib "visualib.dll" (ByVal lid%) As Integer
Declare Function CreateLight Lib "visualib.dll" (ByVal lname$, ByVal typ%) As Integer
Declare Sub DeleteLight Lib "visualib.dll" (ByVal lid%)
Declare Function SelectLight Lib "visualib.dll" (ByVal lid%) As Integer
Declare Function CopyLModel Lib "visualib.dll" (ByVal lmid1%, ByVal lmid2%) As Integer
Declare Function CreateLModel Lib "visualib.dll" (ByVal lmname$) As Integer
Declare Sub DeleteLModel Lib "visualib.dll" (ByVal lmid%)
Declare Function SelectLModel Lib "visualib.dll" (ByVal lmid%) As Integer
Declare Function GetLightType Lib "visualib.dll" (ByVal lid%) As Integer
Declare Function SwitchLight Lib "visualib.dll" (ByVal lid%, ByVal status%) As Integer
Declare Function SetLightCoordinateType Lib "visualib.dll" (ByVal lid%, ByVal typ%) As Integer
'material functions
Declare Function CreateMaterial Lib "visualib.dll" (ByVal mname$) As Integer
Declare Sub DeleteMaterial Lib "visualib.dll" (ByVal maid%)
Declare Function SelectMaterial Lib "visualib.dll" (ByVal maid%) As Integer
Declare Function CopyMaterial Lib "visualib.dll" (ByVal mid1%, ByVal mid2%) As Integer
Declare Function ResetMaterial Lib "visualib.dll" (ByVal maid%) As Integer
' shading parameter functions
Declare Function ShadingOption Lib "visualib.dll" (ByVal id%, ByVal opt%, ByVal status%) As Integer
Declare Function ShadingColor Lib "visualib.dll" Alias "_ShadingColor" (ByVal id%, ByVal typ%, ByVal colo&) As Long
Declare Function ShadingFactor Lib "visualib.dll" (ByVal id%, ByVal typ%, ByVal f!) As Integer
Declare Function ShadingParameter Lib "visualib.dll" (ByVal id%, ByVal typ%, ByVal inquire%, param As Any) As Integer
Declare Function SetRGBPalette Lib "visualib.dll" () As Integer
'shading primitive functions
Declare Function ShadeFacet Lib "visualib.dll" Alias "_ShadeFacet" (ByVal hdc%, normal As Any, ByVal typ%, vertex As Any, ByVal count%, param As Any) As Integer
Declare Function ShadePolygon Lib "visualib.dll" Alias "_ShadePolygon" (ByVal hdc%, normal As Any, ByVal typ%, pts As Any, ByVal count%) As Integer
Declare Function ShadePolyPolygon Lib "visualib.dll" Alias "_ShadePolyPolygon" (ByVal hdc%, normal As Any, ByVal typ%, vertex As Any, pcount As Any, ByVal count%) As Integer
Declare Function ShadePolyFacet Lib "visualib.dll" (ByVal hdc%, polyfacet As Any) As Integer
Declare Function ShadingPreview Lib "visualib.dll" (ByVal hdc%, rect As Any, ByVal r!, ByVal d!) As Integer
' programmable shader functions
Declare Sub GetPixelPosition Lib "visualib.dll" (x%, y%)
Declare Sub GetPixelViewNormal Lib "visualib.dll" (normal As Any)
Declare Sub GetPixelWorldNormal Lib "visualib.dll" (normal As Any)
Declare Sub GetPixelObjectNormal Lib "visualib.dll" (normal As Any)
Declare Sub GetPixelViewCoordinate Lib "visualib.dll" (coord As Any)
Declare Sub GetPixelWorldCoordinate Lib "visualib.dll" (coord As Any)
Declare Sub GetPixelObjectCoordinate Lib "visualib.dll" (coord As Any)
Declare Sub GetPixelViewCameraAxis Lib "visualib.dll" (vaxis As Any)
Declare Sub GetPixelWorldCameraAxis Lib "visualib.dll" (vaxis As Any)
Declare Sub GetPixelObjectCameraAxis Lib "visualib.dll" (vaxis As Any)
Declare Function SolidTexture Lib "visualib.dll" (ByVal typ%) As Integer
'Image Mapping and Printing Functions
Global Const VL_FLUSHTOP = 1
Global Const VL_FLUSHBOTTOM = 2
Global Const VL_FLUSHLEFT = 4
Global Const VL_FLUSHRIGHT = 8
Global Const VL_HORZFIT = &H10
Global Const VL_VERTFIT = &H20
Global Const VL_ALLFIT = &H30
Global Const VL_HORZCENTER = &H40
Global Const VL_VERTCENTER = &H80
Global Const VL_HORZSCALED = &H100
Global Const VL_VERTSCALED = &H200
Global Const VL_BESTFIT = &H400
Global Const VL_USE31APIS = &H800
Global Const VL_MILLIMETER = &H1000
Global Const VL_CENTIMETER = &H2000
Global Const VL_MARKCORNER = &H4000
Global Const VL_MARKPAGE = &H8000
Declare Function ReadDIBFile Lib "visualib.dll" (ByVal fname$, hdib As Any) As Integer
Declare Function ScreenToDIB Lib "visualib.dll" (rect As Any) As Integer
Declare Function WriteDIBFile Lib "visualib.dll" (ByVal fname$, ByVal hdib%) As Integer
Declare Function SetPrintRect Lib "visualib.dll" (ByVal hdc%, rect As Any, ByVal mode%, ByVal x!, ByVal y!, ByVal w!, ByVal h!, ByVal bw%, ByVal bh%) As Integer
Declare Sub GetScreenRect Lib "visualib.dll" (ByVal hwnd%, ByVal withframe%, rect As Any)
Declare Function PrintImage Lib "visualib.dll" (ByVal hdib%, ByVal mode%, ByVal x!, ByVal y!, ByVal w!, ByVal h!) As Integer
Declare Function PrintDrawing Lib "visualib.dll" (draw As Any, ByVal mode%, ByVal x!, ByVal y!, ByVal w!, ByVal h!) As Integer
Declare Function ImageMap2D Lib "visualib.dll" (ByVal hdc%, ByVal hdib%, ByVal typ%, vertex As Any) As Integer
Declare Function ImageMap3D Lib "visualib.dll" (ByVal hdc%, ByVal hdib%, ByVal typ%, vertex As Any) As Integer
' text parameters
Global Const VL_TEXT_HEIGHT = 1
Global Const VL_TEXT_ASPECT = 2
Global Const VL_TEXT_THICKNESS = 4
Declare Function TextParameter Lib "visualib.dll" (ByVal typ%, ByVal param!) As Integer
Declare Function SelectFont Lib "visualib.dll" () As Integer
Declare Function setfont Lib "visualib.dll" (lplf As Any) As Integer
Declare Function Text2D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal a!, ByVal text$) As Integer
Declare Function Text3D Lib "visualib.dll" (ByVal hdc%, ByVal x!, ByVal y!, ByVal a!, ByVal text$) As Integer
Declare Function SolidText Lib "visualib.dll" (ByVal hdc%, ByVal text$) As Integer
' 2D Curve Functions
Declare Sub QBezierCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub QBSplineCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub QNURBSCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub BezierCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub HermitCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub BSplineCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub NURBSCurve2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub SplineInterp2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub BSplineCurveClosed2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub NURBSCurveClosed2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub CatmullRomSpline2D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
'3D Curve Functions
Declare Sub QBezierCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub QBSplineCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub QNURBSCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub BezierCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub HermitCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any)
Declare Sub BSplineCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub NURBSCurve3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub SplineInterp3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub BSplineCurveClosed3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub NURBSCurveClosed3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%, knot As Any)
Declare Sub CatmullRomSpline3D Lib "visualib.dll" (ByVal hdc%, ByVal typ%, poly As Any, ByVal n%)
Declare Sub Spring Lib "visualib.dll" (ByVal hdc%, ByVal n%, ByVal r!, ByVal h!)
Declare Function CircleSide Lib "visualib.dll" (ByVal side%) As Integer
Declare Function Tube Lib "visualib.dll" (ByVal hdc%, ByVal rtop!, ByVal rbot!, ByVal t!, ByVal h!) As Integer
Declare Function Sweep Lib "visualib.dll" (ByVal hdc%, transf As Any, ByVal nstep%, vertex As Any, normals As Any, ByVal npts%, ByVal mode%, snormal As Any) As Integer
Declare Function Revolution Lib "visualib.dll" (ByVal hdc%, vertex As Any, normal As Any, ByVal n%, ByVal a!, ByVal mode%, snormal As Any) As Integer
Declare Function Tetrahedron Lib "visualib.dll" (ByVal hdc%, ByVal r!) As Integer
Declare Function Octahedron Lib "visualib.dll" (ByVal hdc%, ByVal r!) As Integer
Declare Function Dodecahedron Lib "visualib.dll" (ByVal hdc%, ByVal r!) As Integer
Declare Function Icosahedron Lib "visualib.dll" (ByVal hdc%, ByVal r!) As Integer